Recently, technologies have been developed for handling a video signal and/or an audio signal of a so-called high definition television (HDTV) such as a broadcast system formed by use of, for example, a broadcasting or business use video camera. In such a system, an apparatus referred to as a transcoder, which combines a function to compress and encode non-compressed video and/or audio signals by using an image-compressing system such as moving picture experts group (MPEG)-2 etc. and a function to decompress and decode these compressed and encoded video and/or audio signals, is used. That is, this transcoder performs compression and encoding on the basis of such an image compression system as MPEG-2 by use of a mounted encoder on non-compressed video and/or audio signals input through a serial bus etc. which conforms to, for example, the high definition-serial digital interface (HD-SDI) standards and transmits them as a transport stream comprised of plural transport packets (TS packets). Further, the transcoder can decompress and decode, by using a mounted decoder, a transport stream received through a predetermined communication path, to reproduce non-compressed video and/or audio signals.
As in the case of a transport stream transmitted and received by such a transcoder, in packet transmission in which predetermined data is transmitted and received with it being stored in a packet, a header is added to each of the packets, so that an overhead can be made less as larger size data is transferred with it being stored in one packet, thus effectively improving in view of a communication efficiency.
Further, in packet transmission, data is transferred in accordance with the Internet protocol (IP) often, so that packets are transmitted and received in accordance with a variety of transfer protocols that match a data format etc. Generally, packet communication based on the IP, as in the case of the file transfer protocol (FTP), for example, often conforms to a transfer protocol capable of re-transmitting a packet in accordance with a condition of the communication path. However, the packet transmission has recently applied to a case of an application for real-time communication in which. re-transmission of packet is not permitted, for example, a real-time transport protocol (RTP) known as a transfer protocol for reproducing video and/or audio signals by streaming. In this case, a transmission side, which transmits a packet, needs to have a powerful error correcting capability so that a reception side can correct a significant burst error involving a packet loss by which a packet is lost due to an effect such as noise occurring on the communication path.
As such error-correcting technologies, it may be considered to add a predetermined error correction code such as a so-called Reed-Solomon code to a packet.
The following will describe an example using a Reed-Solomon code as the error correction code. By a Reed-Solomon code, if a 28-byte error correction code is added to a packet comprised of, for example, 188 bytes, error can be corrected completely when the number of bytes containing an error in each packet is 14 or less. That is, a Reed-Solomon code typically refers to an error correction code that can accommodate only a random error. However, a Reed-Solomon code is not capable of correcting errors if the number of bytes containing an error in each packet is in excess of 14 bytes. Therefore, a Reed-Solomon code has no effect on a significant burst error that contains a packet loss.
To cope with it, as the error-correcting technologies, typically, a predetermined error correction code such as a Reed-Solomon code is added to a packet and then folding interleaving is performed on it, to disperse errors.
That is, in the packet communication, even if a burst error, which has occurred on a communication path, is superimposed on packets on which a transmission side has performed the folding interleaving, a reception side can perform the corresponding folding de-interleaving on them to handle each of them as a random error for each packet and decode an error correction code such as a Reed-Solomon code, thereby correcting even the burst error. For example, in the packet communication, if folding interleaving with a depth of 18 is performed on packets each comprised of 216 bytes which is obtained by adding a 28-byte error correction code to the above-mentioned 188-byte packet, even when one of the consecutive 18 packets has erred completely, the reception side may correct the error completely. Therefore, in the packet communication, especially when data is transmitted or received through a communication path subject to a packet loss, consecutive pieces of information of one packet may be all lost; in such a case, by using such an error-correcting technology, the lost packet can be restored completely.
In such a manner, in the packet communication, in a case where it is applied to an application for real-time communication in which re-transmission of packets is not permitted, the error correcting capability for a burst error containing a packet loss can be improved by adding a predetermined error correction code to a packet and performing folding interleaving on a packet thus obtained.
In the packet communication, again, to correct a significant burst error containing a packet loss by using an error-correcting technology that combines the above-mentioned error correction code and folding interleaving, it is necessary to use an error correction code having a very large code length that matches a packet size.
However, in the packet communication, if an error correction code having a large code length is added, a data overhead increases, thereby deteriorating communication efficiency. Further, in the packet communication, addition of such an error correction code with a large code length brings about not only deterioration in communication efficiency but also an increase in scale of circuits of an encoder and a decoder for an error correction code.
Therefore, in the packet communication, it is desirable to reduce the code length of an error correction code as much as possible.
On the other hand, in the packet communication, if the error correction code length is reduced, a depth of folding interleaving must be increased largely to correct a significant burst error containing a packet loss.
In terms of mounting of folding interleaving device, a depth of relevant folding interleaving and a required memory capacity are proportional to each other. Therefore, in the packet communication, to increase the depth of folding interleaving, the required memory capacity increases, which is not desirable.
Further, in the folding interleaving, as the memory, it is necessary to use such a storage device as to be capable of accessing inconsecutive addresses for each clock of about one clock synchronized with each data word in units of a byte in the case of, for example, the MPEG standard, that is, a dual-port random access memory (hereinafter abbreviated as DPRAM), which is capable of being random accessed.
In this case, as the folding interleaving, a dedicated integrated circuit can be mounted; but, as viewed from a point of costs, handling ease, etc., effectively a general-purpose programmable device such as a so-called programmable logic device (PLD) or field programmable gate array (FPGA) may be mounted. However, in the folding interleaving, since a DPRAM provided in such a general-purpose programmable device has a small capacity, it is difficult to obtain a sufficient depth necessary to correct a significant burst error containing a packet loss by compensating for a decrease in code length of an error correction code. Further, in the folding interleaving, if a problem is a memory capacity only, the problem can be solved by using a general-purpose memory to be externally mounted to a programmable logic device such as a synchronous dynamic random access memory (SDRAM); however, such an externally mounted device is surely effective in burst transfer of data in units of plural data words but needs a period for inputting a command signal for access, so that time-wise consecutive random access of addresses in units of a data word is difficult because it increases an overhead and decreases a throughput and, to realize such access, very complicated circuits must be provided in a periphery of the memory, so that it is difficult to mount them for the purpose of high-speed access in units of a data word.
As described above, in the packet communication, to correct a significant burst error containing a packet loss by using an error-correcting technology that combines an error correction code and folding interleaving, the error correction code must have a large code length, thus resulting a problem such as a deterioration in communication efficiency and an increase in circuit scale; if instead of using an error correction code having a small code length, folding interleaving with a large depth is realized, a program such as an increase in memory capacity occurs.